﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
using CDS.ProgramacionWCF.Persistencia;
using System.Web.Services;
using System.Web.Script.Services;
using CDS.ProgramacionWCF.Dominio;
using System.Net;

namespace CDS.ProgramacionWCF
{
    public class Programaciones : IProgramaciones
    {
        ProgramacionDAO prg = new ProgramacionDAO();
       //[WebMethod, ScriptMethod]
       // public List<Dominio.Programacion> Listar()
       // {
       //     return prg.ListarProgramacion();
       // }

       [WebMethod, ScriptMethod]
       public List<Dominio.Programacion> Listar(string origen, string destino, string fecini, string fecfin, string cant)
       {
           return prg.ListarProgramacion(origen, destino, fecini, fecfin, cant);
       }


        //[WebMethod, ScriptMethod]
       public Dominio.Programacion Obtener(string idProgramacion)
       {
           Dominio.Programacion p=
               prg.ObtenerProgramacion(idProgramacion);
           //if (p==null)
           //    throw new WebFaultException<Error>(
           //        new Error() { 
           //        CodigoError="01",
           //        MensajeError="La programacion no existe"
           //        }
           //        ,

           //            HttpStatusCode.InternalServerError);
           if (p == null)
               throw new WebFaultException<string>(
                   "La programacion no existe",
                       HttpStatusCode.InternalServerError);
           return p;
           }

        [WebMethod, ScriptMethod]
       public string Registrar(string idProgramacion, string cant)
       {
           return prg.RegistrarReserva(idProgramacion, cant);
       }
    }
}
